home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / net / omniORB-2.5.0-src.tar.gz / omniORB-2.5.0-src.tar / omniORB_2.5.0 / README.Linux < prev    next >
Text File  |  1998-02-05  |  4KB  |  100 lines

  1. omniORB2 has been tested with the following software configuration:
  2.  
  3. - Kernel               2.0.27
  4. - Gnu C++              2.7.2.1
  5. - Binutils             2.7.0
  6. - Linux C Library      5.3.12
  7. - Linux C++ Library    2.7.1
  8. - Linuxthreads         0.5
  9.  
  10. In particular, you should check if your system has Linuxthreads installed.
  11.  
  12. omniORB2 also works with glibc-2.0.x. 
  13.  
  14. It has been reported that with the latest(?) S.U.S.E distribution, the
  15. release fails to compile with an internal compiler error. The distribution
  16. apparently bundles gcc 2.7.2.3 so one would expect the release should compile.
  17. The exact cause of the problem is unknown.
  18.  
  19.  
  20. Typo in /usr/include/sched.h
  21. ----------------------------
  22.  
  23. In some linux distributions, e.g. RedHat 4.1, there is a typo in
  24. /usr/include/sched.h which would cause an error when compiling omniORB2.
  25. If you see this error, apply the following patch:
  26.  
  27.  
  28. *** sched.h     Thu May 22 13:49:34 1997
  29. --- sched.h.patched     Thu May 22 13:49:47 1997
  30. ***************
  31. *** 33,39 ****
  32.   extern int sched_getscheduler __P((pid_t __pid));
  33.   extern int sched_yield __P((void));
  34.   extern int sched_get_priority_max __P((int __policy));
  35. ! extern int sched_get_priority_min _P((int __policy));
  36.   extern int sched_rr_get_interval __P((pid_t __pid,
  37.                 struct timespec *interval));
  38.   
  39. --- 33,39 ----
  40.   extern int sched_getscheduler __P((pid_t __pid));
  41.   extern int sched_yield __P((void));
  42.   extern int sched_get_priority_max __P((int __policy));
  43. ! extern int sched_get_priority_min __P((int __policy));
  44.   extern int sched_rr_get_interval __P((pid_t __pid,
  45.                 struct timespec *interval));
  46.   
  47.  
  48. Gcc exception handling
  49. ----------------------
  50.  
  51. omniORB2 uses C++ exceptions. By default, exception handling is not enabled
  52. in gcc 2.7.2. To compile programs that use omniORB2, the -fhandle-exceptions
  53. flag must be specified. Notice that optimization is not supported with
  54. -fhandle-exceptions.
  55.  
  56. By default, Run Time Type Identification (RTTI) is not supported in g++
  57. 2.7.2. In other words, throws will only match on catch parameters of
  58. exactly the same types.
  59.  
  60. It is possible to enable RTTI support in gcc 2.7.2. To do so, the omniORB
  61. library must be modified to include <typeinfo>. Refer to g++ documentation
  62. for details.
  63.  
  64. omniORB2 has not been tested with gcc 2.8.0, which should resolve the above 
  65. problems.
  66.  
  67. No shared library support
  68. -------------------------
  69.  
  70. With gcc 2.7.2, it is not possible to create a C++ shared library with
  71. exception handling enabled. Therefore, only static libraries are provided.
  72. This problem is probably resolved in gcc 2.8.0.
  73.  
  74.  
  75. Porting to other hardware platforms
  76. -----------------------------------
  77.  
  78. omniORB2 has only been tested on x86 Linux. Theoretically, it will just
  79. compile with no change on other linux platforms. In practice, the success
  80. of a port depends largely on the quality of exception handling in gcc.  On
  81. alpha Linux, gcc 2.7.2 fails to compile the omniORB2 library because of an
  82. internal compiler error. This bug is a show stopper with no work around. 
  83. However, the g++ maintainers have asserted that the bug has been fixed in 
  84. gcc 2.8.0, though this has yet to be verified.
  85.  
  86. Latest update: omniORB2 has been tested with a patched version of egcs on
  87. alpha linux. See README.egcs for details.
  88.  
  89.  
  90. Gcc 2.8.0
  91. ---------
  92.  
  93. gcc 2.8.0 has been released. We have not tested omniORB2 with the compiler. It
  94. may be the case that gcc 2.8.0 will have the same problem with thread safe 
  95. exception handling as egcs (see README.egcs). If that is the case, omniORB2 
  96. programs may crash randomly. One has to wait a bit longer for gcc to have 
  97. thread safe exception or switch to egcs.
  98.  
  99.  
  100.